/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package EntidadesDBPrueba;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlRootElement;

/**
 *
 * @author Facundo
 */
@Entity
@Table(name = "idiomaconocido", catalog = "tpare", schema = "")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Idiomaconocido.findAll", query = "SELECT i FROM Idiomaconocido i"),
    @NamedQuery(name = "Idiomaconocido.findByNombreIdioma", query = "SELECT i FROM Idiomaconocido i WHERE i.idiomaconocidoPK.nombreIdioma = :nombreIdioma"),
    @NamedQuery(name = "Idiomaconocido.findByIdPostulante", query = "SELECT i FROM Idiomaconocido i WHERE i.idiomaconocidoPK.idPostulante = :idPostulante"),
    @NamedQuery(name = "Idiomaconocido.findByNivel", query = "SELECT i FROM Idiomaconocido i WHERE i.nivel = :nivel")})
public class Idiomaconocido implements Serializable {
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected IdiomaconocidoPK idiomaconocidoPK;
    @Basic(optional = false)
    @NotNull
    @Column(name = "nivel", nullable = false)
    private int nivel;

    public Idiomaconocido() {
    }

    public Idiomaconocido(IdiomaconocidoPK idiomaconocidoPK) {
        this.idiomaconocidoPK = idiomaconocidoPK;
    }

    public Idiomaconocido(IdiomaconocidoPK idiomaconocidoPK, int nivel) {
        this.idiomaconocidoPK = idiomaconocidoPK;
        this.nivel = nivel;
    }

    public Idiomaconocido(String nombreIdioma, int idPostulante) {
        this.idiomaconocidoPK = new IdiomaconocidoPK(nombreIdioma, idPostulante);
    }

    public IdiomaconocidoPK getIdiomaconocidoPK() {
        return idiomaconocidoPK;
    }

    public void setIdiomaconocidoPK(IdiomaconocidoPK idiomaconocidoPK) {
        this.idiomaconocidoPK = idiomaconocidoPK;
    }

    public int getNivel() {
        return nivel;
    }

    public void setNivel(int nivel) {
        this.nivel = nivel;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idiomaconocidoPK != null ? idiomaconocidoPK.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Idiomaconocido)) {
            return false;
        }
        Idiomaconocido other = (Idiomaconocido) object;
        if ((this.idiomaconocidoPK == null && other.idiomaconocidoPK != null) || (this.idiomaconocidoPK != null && !this.idiomaconocidoPK.equals(other.idiomaconocidoPK))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "EntidadesDBPrueba.Idiomaconocido[ idiomaconocidoPK=" + idiomaconocidoPK + " ]";
    }
    
}
